/******************************************************************************* 
  Copyright (C), 1988-2020, zeno Tech. Co., Ltd.
  Description:  AOUT模块内部头文件
  Function List:
            
*******************************************************************************/
              
#ifndef AUDIO_HI_AOUT_H
#define AUDIO_HI_AOUT_H

/*=============================================================================
                                 Includes                                  
==============================================================================*/

/*=============================================================================
                               Macro Definition
==============================================================================*/

/*=============================================================================
                        Local Structures and Typedef 
==============================================================================*/

/*=============================================================================
                             extern  Variables                                  
==============================================================================*/

/*=============================================================================
                             Function Definition                                  
==============================================================================*/

/*******************************************************************************
    Function:     AOUT_CreateDev
    Description:  创建音频输出设备
    Input:        - AiDevId: 设备号
                  - pstAioAttr: 音频输出属性
    Output:       无
    Return:       0: 操作成功
                  -1: 操作失败
    Others:       无
*******************************************************************************/
HI_S32 AOUT_CreateDev(AUDIO_DEV AoDevId, AIO_ATTR_S *pstAioAttr);

/*******************************************************************************
    Function:     AOUT_CreateChn
    Description:  创建音频输出通道
    Input:        - AiDevId: 设备号
                  - s32AoChnCnt: 设备通道号
    Output:       无
    Return:       0: 操作成功
                  -1: 操作失败
    Others:       无
*******************************************************************************/
HI_S32 AOUT_CreateChn(AUDIO_DEV AoDevId, AI_CHN s32AoChnCnt);

/*******************************************************************************
    Function:     AOUT_Destroy
    Description:  销毁音频输出
    Input:        - AoDevId: 设备号
                  - s32AoChnCnt: 设备通道号
    Output:       无
    Return:       0: 操作成功
                  -1: 操作失败
    Others:       无
*******************************************************************************/
HI_S32 AOUT_Destroy(AUDIO_DEV AoDevId, AI_CHN s32AoChnCnt);

#ifdef HIMPP_V2_0
/*******************************************************************************
  Function:     AOUT_SetVqeAttr
  Description:  设置AO 的声音质量增强功能相关属性
  Input:        - AoDevId: 设备号
                - s32AoChnCnt: 设备通道号
                - pAoVqeAttr: 音频输入声音质量增强配置结构体指针
  Output:       无
  Return:       0: 操作成功
                -1: 操作失败
  Others:       无
*******************************************************************************/
HI_S32 AOUT_SetVqeAttr(AUDIO_DEV AoDevId, 
                        AO_CHN s32AoChnCnt, 
                        AO_VQE_CONFIG_S *pAoVqeAttr);
#endif

#endif  /* AUDIO_HI_AOUT_H */